//TODO: Please write code in this file.
function printReceipt(inputs,data) {
  // 对购物清单数据进行处理,把格式转化成正常的格式。
  let str = []
  let num = 0;
  let list = []
  // 该变数组结构，
  for(index in inputs) {
    if(inputs[index].length > 11) {
      str = inputs[index].split("-")
      num = index
    }
  }
  inputs.splice(num,1)
  for(let i = 0; i < str[1]; i++) {
    inputs.push(str[0])
  }
  // 调用上一题的代码,返回处理后的数据
  list = foo(inputs,data)
  console.log("list:", list);
  // print 参数为handle方法的返回值。
  print(handle(list,Discount))
}
// 第二题中的代码，传入商品表，和商品清单，输出 合适的商品数据清单。
function foo(inputs, data) {
  let list = [];
  let newlist = []
  for(item of inputs) {
    for(let i=0; i<data.length; i++) {
      if(item === data[i].barcode) {
        list.push(data[i])
      }
    }
  }

  // 2->1
  // 用set去重。
  newlist = new Set(list)
  let arr = Array.from(newlist)
  for(item of arr) {
    item.count = 0
    for(index of list) {
      if(item.barcode === index.barcode) {
        item.count++;
      }
    }
  }
  return arr
  console.log(arr);
}
// 传入商品清单数据，和优惠信息表，输出优惠的价钱
function handle(list,Discount) {
  console.log(list);
  // list 购物清单
  console.log(Discount[0].barcodes);
  let discount = Discount[0].barcodes;
  // console.log(discount);
  for(item of list) {
    for(index of discount) {
      if(item.barcode === index) {
        if(item.count >= 2) {
          item.discount = 1;
        }
      }
    }
    if(!item.discount) {
      item.discount = 0
    }
  }
  // 拿到商品清单中优惠的id
  console.log(list);
  return list
}
// 打印
function print(arr) {
  console.log('***<没钱赚商店>收据***');
  let len = arr.length
  let add = 0
  let dis = 0;
  let log = ''
  for(let i = 0; i < len; i++) {
    log = log + `名称：${arr[i].name}, 数量：${arr[i].count}${arr[i].unit}, 单价：${arr[i].price}(元), 小计：${arr[i].price*(arr[i].count-arr[i].discount)}(元)\n`
    add += arr[i].price*arr[i].count
    dis += arr[i].price*arr[i].discount
  }
  log = log + `------------------\n`
  log = log + `总计：${add}（元）\n`
  log = log + `节省：${dis}\n`
  log = log + `******************`
  console.log(log);
}


// 获取商品清单
let data = loadAllItems()
console.log("商品清单",  data);

// 获取促销信息
let Discount = loadPromotions()
console.log("促销信息：", Discount);

// 购物清单
let inputs = [
  'ITEM000001',
  'ITEM000001',
  'ITEM000001',
  'ITEM000001',
  'ITEM000001',
  'ITEM000003-2',
  'ITEM000005',
  'ITEM000005',
  'ITEM000005'
] 
printReceipt(inputs,data)
